package com.neouton.crm.dictionary.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.crm.dictionary.entity.DictionaryLookupItemVO;
import com.neouton.crm.dictionary.entity.DictionaryLookupVO;
import com.neouton.crm.dictionary.entity.SysMenuVO;
import com.neouton.crm.entity.SysUserEntity;

import java.util.List;
import java.util.Map;

/**
 * @Author liye
 * @Date 2022/6/27 14:50
 * @Version 1.0
 */

public interface IDictionaryService {
   /**
    * 数据字典列表查询
    *
    * @param page
    * @param dictionaryLookup
    * @return
    */
   IPage<DictionaryLookupVO> queryDictionarysByPage(IPage page, DictionaryLookupVO dictionaryLookup);

   /**
    * 数据字典查询
    *
    * @param classfiedCode
    * @return
    */
   Map<String, List<DictionaryLookupItemVO>> queryDictionaryLookupInfo(Integer status, List<String> classfiedCode);

   /**
    * 数据字典明细数据新增
    *
    * @param dictionaryLookupItems
    */
   Boolean addDictionaryLookupItem(Integer id,List<DictionaryLookupItemVO> dictionaryLookupItems);


   /**
    * 获取各模块管理员
    * @param page
    * @param sysMenuVO
    * @return
    */
   IPage<SysMenuVO> queryCrmAdminByPage(IPage page, SysMenuVO sysMenuVO);

   /**
    * 获取管理员集合
    * @param menuId
    * @return
    */
   List<SysUserEntity> queryMenuUserIdsByCode(String menuCode);

   /**
    * 保存管理员信息
    * @param menuId
    * @return
    */
   Boolean saveMenuUserIds(Integer menuId,List<SysUserEntity> users);

   /**
    * 查询是否为管理员
    * @return
    */
   Boolean queryIsMenuUserByUserId();


   /**
    * 获取抄送人列表
    * @param page
    * @param sysMenuVO
    * @return
    */
   IPage<SysMenuVO> queryCrmCcByPage(IPage page, SysMenuVO sysMenuVO,String token);

   /**
    * 获取抄送人
    * @param eventCode
    * @return
    */
   List<SysUserEntity> queryCcUserIdsByCode(String eventCode);

   /**
    * 保存抄送人信息
    * @param eventId
    * @param users
    * @return
    */
   Boolean saveCcUserIds(Integer eventId,List<SysUserEntity> users);

   IPage<SysMenuVO> queryCrmAuthByPage(IPage page, SysMenuVO sysMenuVO);

   List<SysUserEntity> queryAuthUserIdsByCode(String authCode);

   Boolean saveAuthUserIds(Integer authManageId,List<SysUserEntity> users);
}
